package com.blog.service;

import com.blog.common.result.RPage;
import com.blog.entity.dto.ArticleDTO;
import com.blog.entity.dto.ArticleQueryDTO;
import com.blog.entity.po.Article;
import com.baomidou.mybatisplus.extension.service.IService;
import com.blog.entity.vo.ArticleVO;

import java.util.List;

/**
 * <p>
 * 文章表 服务类
 * </p>
 *
 * @author author
 * @since 2024-03-24
 */
public interface IArticleService extends IService<Article> {

    /**
     * 查询文章列表
     * @return
     */
    RPage<ArticleVO>  articleList(ArticleQueryDTO dto);


    /**
     * 根据 id 查询文章详情 ： 文章基础信息 、 分类信息 ， 标签信息
      * @param id
     * @return
     */
    ArticleVO getArticleById(Long id);

    /**
     * 修改文章状态
     * @param id
     */
    void updateStatusById(Long id);

    /**
     * 修改文章
     * @param
     */
    void editArticle(ArticleDTO dto);

    /**
     * 新增文章
     * @param
     */
    void saveArticle(ArticleDTO dto);

}
